<html>
<head>
    <title>Project Home Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<h1>jME Physics</h1>

<p>
    jME Physics was providing an interface between jME (Java Monkey Engine) and ODE (Open Dynamics Engine).
    It sat on top of a slightly modified version of odejava, and provides a way to very easily set up a physics world
    and add objects to it - a simple box-falling-on-a-floor application is only a matter of a few lines.
    Yet, the goal was to provide advanced and powerful features - e.g. vehicle support is implemented.
</p>

<p>
    Find our discussion board <a href="http://www.jmonkeyengine.com/jmeforum/index.php?board=3.0">here</a>.<br>
    For current status, feature list and todos have a look at
    <a href="https://jmephysics.dev.java.net/source/browse/jmephysics/README.txt?view=markup">README.txt</a>.
</p>

<p>
    jME Physics now get redesigned to allow some major features:
    - physics engine independent API (to use e.g. NovodeX, PhysX, Newton... not only ODE)<br/>
    - composable physics representation (e.g. approximate a mesh with two spheres)<br/>
    - allow running physics without loading meshes (e.g. server side)<br/>
    - load/store physics representation<br/>
    - debugging mode showing physics representations (like with bounds currently)<br/>
    additional features/fixes:<br/>
    - proper handling of nested nodes (meshes in nested nodes)<br/>
    - placement of pivot/mass point<br/>
    - better integration with the scenegraph, as well as possible separation<br/>
</p>

<p>
    <br/>New API:<br/>
    - physics objects and types get specified within the scenegraph like this:<br/>
    <br/>

    <div align="center"><img src="images/jmephysicsexample1.png" alt="" border="0"/></div><br/>
    <br/>
    There are PhysicsNodes (dynamic or static) that specify parts of the scenegraph that should be controlled by
    physics.<br/>
    Replacing PhysicsType: the idea is that there have to be instances of PhysicsRepresentation (here
    PhysicsBox and PhysicsSphere) in each PhysicsNode that make up the collision bounds of the physical
    entities. The representation can be derived from bounds/mesh as before (depicted by the method
    invocation and creation of the green objects).<br/>
    The classdiagram looks like this (excerpt):<br/>
    <br/>

    <div align="center"><img src="images/jmephysicsclassdiagramexcerpt.png" alt="" border="0"/></div><br/>
    <br/>
    - jme format gets extended to allow storage of such scenegraphs, a filter may be provided to store only
    physics/visuals<br/>
</p>
</body>
</html>

